export const errorHandler = (err, ctx) => {
  // 处理err为undefined的情况
  if (!err) {
    console.error("未知错误: 错误对象未定义");
    err = {
      status: 500,
      message: "Internal Server Error",
      code: "UNKNOWN_ERROR",
    };
  }

  console.error("服务器错误:", err);

  // 设置响应状态码（确保err现在是一个对象）
  ctx.status = err.status || 500;

  // 基础错误响应结构
  const errorResponse = {
    error: {
      message: err.message || "Internal Server Error",
      code: err.code || "INTERNAL_ERROR",
    },
  };

  // 只在开发环境添加堆栈信息
  if (process.env.NODE_ENV === "development" && err.stack) {
    errorResponse.error.stack = err.stack;
  }

  ctx.body = errorResponse;
};
